#ifndef EFFECTIVENESSTESTER_H
#define EFFECTIVENESSTESTER_H

#include <QDir>
#include <QObject>
#include <QVector>

#include "query.h"
#include "restclient.h"

class EffectivenessTester : public QObject
{
    Q_OBJECT
public:
    explicit EffectivenessTester(const QDir &queriesDir, QStringList &stoplist, int resultNumber = 20, QObject *parent = 0);
    void start() {client->getAllSearchResults(&queries);}
    
signals:
    
private slots:
    void finishedSlot();
    
private:
    RESTClient *client;

    QList<Query> queries;
    QVector<double> recall;
    QVector<double> precision;
    QVector<double> reciprocalRank;
};

#endif // EFFECTIVENESSTESTER_H
